package com.vcit.system.domain.vo;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.vcit.common.annotation.Excel;
import com.vcit.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Size;
import java.util.Date;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class StudentListVo extends BaseEntity {

    /** 学生id */
    private Long id;

    /** 学生学号 */
    @Excel(name = "学生学号")
    private String sno;

    /** 学生姓名 */
    @Excel(name = "学生姓名")
    private String studentName;

    /** 学生性别 */
    @Excel(name = "学生性别",readConverterExp = "0=男,1=女,2=未知",dictType ="sys_user_sex",comboReadDict=true)
    private String sex;

    /** 手机号码 */
    @Excel(name = "手机号码", cellType = Excel.ColumnType.TEXT)
    private String phone;

    /** 学生出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "学生出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

    /** 邮箱 */
    @Excel(name = "邮箱")
    private String email;

    /** 家庭地址 */
    @Excel(name = "家庭地址")
    private String address;

    /** 状态 0 休学，1 在读 2 服兵役 */
    @Excel(name = "学生状态", readConverterExp = "0=休学,1=在读,2=服兵役,3 =毕业",dictType ="student_stauts",comboReadDict=true)
    private Integer status;

    /** 身份证号 */
    //@Excel(name = "身份证号",cellType = Excel.ColumnType.TEXT, prompt = "请输入18位身份证号")
    @Size(min = 0, max = 18, message = "身份证号长度不能超过18个字符")
    private String idCard;

    /**  */
    //@Excel(name = "招生状态", readConverterExp = "0=报考,1=待确认,2=审核中,3=驳回,4=审核通过,5=未录取,6=已录取（待确认）,7=未分班（已确认）,8=已分班",type=Excel.Type.IMPORT)
    private Integer zsStatus;

    /** 政治面貌 */
   // @Excel(name = "政治面貌",readConverterExp = "0=群众,1=团员,2=预备党员,3=党员",dictType ="polical_status",comboReadDict=true)
    private String policalStatus;

    /** 名族 */
    @Excel(name = "民族")
    private String nation;

    /** 入学时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入学时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTerm;

    /** 毕业时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "毕业时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTerm;

    /** 系部id */
    //@Excel(name = "系部id")
    private Long deptId;
    @Excel(name="系部名称")
    private String deptName;



    /** 专业id */
    //@Excel(name = "专业id")
    private Long majorId;

    @Excel(name = "专业名称")
    private String majorName;

    /** 学生类型 0 正常报名 1 单独招生 2  预科 */
    @Excel(name = "学生类型",readConverterExp = "0=高考招生, 1=单独招生, 2=预科,3=对口升学",dictType ="student_type",comboReadDict=true)
    private Integer studentType;
    //@Excel(name = "班级id")
    private Long clazzId;
    @Excel(name = "班级名称")
    private String clazzName;
   // @Excel(name = "辅导员id")
    private String manageUserId;
    @Excel(name = "辅导员姓名",type = Excel.Type.EXPORT)
    private String manageUser;
    @Excel(name = "招生年份")
    private String zsYear;
    @Excel(name = "准考证号", type = Excel.Type.IMPORT)
    private String candidateNumber;


}
